package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 配送计划对象 nc_distribution_plan
 *
 * @author lx
 * @date 2023-04-21
 */
@Data
@ApiModel(value = "NcDistributionPlan", description = "配送计划对象")
public class NcDistributionPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 订单类别 */
    @Excel(name = "订单类别")
    @ApiModelProperty("订单类别")
    private String orderType;

    /** 特殊要求 */
    @Excel(name = "特殊要求")
    @ApiModelProperty("特殊要求")
    private String specialRequirements;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String orderNumber;

    /** 产品编码 */
    @Excel(name = "产品编码")
    @ApiModelProperty("产品编码")
    private String productCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    @ApiModelProperty("产品名称")
    private String productName;

    /** 订单数量 */
    @Excel(name = "订单数量")
    @ApiModelProperty("订单数量")
    private Long orderQuantity;

    /** 产品类型 */
    @Excel(name = "产品类型")
    @ApiModelProperty("产品类型")
    private String productType;

    /** 物料编码 */
    @Excel(name = "物料编码")
    @ApiModelProperty("物料编码")
    private String materialCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 物料规格 */
    @Excel(name = "物料规格")
    @ApiModelProperty("物料规格")
    private String materialSpecification;

    /** 质量状态 */
    @Excel(name = "质量状态")
    @ApiModelProperty("质量状态")
    private String qualityStatus;

    /** 使用状态 */
    @Excel(name = "使用状态")
    @ApiModelProperty("使用状态")
    private String usageStatus;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String unit;

    /** 单台用量 */
    @Excel(name = "单台用量")
    @ApiModelProperty("单台用量")
    private BigDecimal perUnitUsage;

    /** 订单用量 */
    @Excel(name = "订单用量")
    @ApiModelProperty("订单用量")
    private BigDecimal totalOrderUsage;

    /** 配送计划数量 */
    @Excel(name = "配送计划数量")
    @ApiModelProperty("配送计划数量")
    private Long distributionPlanQuantity;

    /** 本次锁账数量 */
    @Excel(name = "本次锁账数量")
    @ApiModelProperty("本次锁账数量")
    private Long lockedAccountQuantity;

    /** 仓储缺件数量 */
    @Excel(name = "仓储缺件数量")
    @ApiModelProperty("仓储缺件数量")
    private Long warehouseShortageQuantity;

    /** 锁账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "锁账时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("锁账时间")
    private Date lockedAccountTime;

    /** 仓库代码 */
    @Excel(name = "仓库代码")
    @ApiModelProperty("仓库代码")
    private String warehouseCode;

    /** 库位编码 */
    @Excel(name = "库位编码")
    @ApiModelProperty("库位编码")
    private String locationCode;

    /** 库位名称 */
    @Excel(name = "库位名称")
    @ApiModelProperty("库位名称")
    private String locationName;


}
